package service

import (
	"bgs/cache/redisImp"
	"bgs/conf"
	"bgs/db"
	"bgs/grpc/client"
	"go.uber.org/zap"
)

// AfterSaleServiceImp after_sale bizlogic
type AfterSaleServiceImp struct {
	dao        *db.PgDao
	slog       *zap.SugaredLogger
	wechatVars *conf.WechatSection
	vars       *conf.VarsSection
	proxy      *client.GrpcClientProxy
	cacher     *cache.Adapter
}

// NewAfterSaleService initialization
func NewAfterSaleService(
	pgdao *db.PgDao,
	slog *zap.SugaredLogger,
	wechatVars *conf.WechatSection,
	vars *conf.VarsSection,
	proxy *client.GrpcClientProxy,
	adp *cache.Adapter,
) *AfterSaleServiceImp {
	return &AfterSaleServiceImp{
		dao:        pgdao,
		slog:       slog.With("module", "AfterSaleService"),
		wechatVars: wechatVars,
		vars:       vars,
		proxy:      proxy,
		cacher:     adp,
	}
}